<?php
use App\Models\User;
use Illuminate\Support\Facades\Auth;
return [
    //页面标题
    'title' => '用户',
    //模型单数
    'single' => '用户',
    //数据模型，用作数据的CRUD
    'model' => User::class,
    //设置当前页面的访问权限
    'permission' =>function()
    {
        return Auth::user()->can('manage_users');
    },
    //字段渲染数据表格，有无数列组成
    'columns' => [
        'id',
        'avatar' => [
            'title' => '头像',
            // 默认情况下会直接输出数据，你也可以使用 output 选项来定制输出内容
            'output' => function ($avatar, $model) {
                return empty($avatar) ? 'N/A' : '<img src="'.$avatar.'" width="40">';
            },
            // 是否允许排序
            'sortable' => false,
        ],
        'name' => [
            'title'    => '用户名',
            'sortable' => false,
            'output' => function ($name, $model) {
                return '<a href="/users/'.$model->id.'" target=_blank>'.$name.'</a>';
            },
        ],
        'email' => [
            'title' => '邮箱',
        ],
        'operation' => [
            'title'  => '管理',
            'sortable' => false,
        ],
    ],
    //模型表单设置项
    'edit_fields' => [
        'name' => [
            'title' => '用户名',
        ],
        'email' => [
          'title' => '邮箱',
        ],
        'password' => [
            'title' => '密码',
            //表单使用input类型password
            'type' => 'password',
        ],
        'avatar' => [
            'title' => '用户头像',
            //设置表单里的类型，默认是input
            'type' => 'image',
            //图片上传必须设置图片的存放位置
            'location' => public_path() . '/uploads/images/avatars/',
        ],
        'roles' => [
            'title' => '用户角色',
            //指定数据类型为关联模型
            'type' => 'relationship',
            //关联模型的字段，用来做关联显示
            'name_field' => 'name',
        ],
    ],
    //数据过滤的设置
    'filters' => [
        'id' => [

            // 过滤表单条目显示名称
            'title' => '用户 ID',
        ],
        'name' => [
            'title' => '用户名',
        ],
        'email' => [
            'title' => '邮箱',
        ],
    ],

];